package io.adrainty.bolee.insurance.models.entity;

import io.adrainty.bolee.framework.commons.basic.BaseEntity;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serial;
import java.util.List;

/**
 * <p>PlanSafeguardEntity</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description 保险方案保障项
 * @since 2025/8/12 11:01:39
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(description = "保险方案保障项")
public class PlanSafeguardEntity extends BaseEntity {

    @Serial
    private static final long serialVersionUID = -6882115109204884822L;

    @Schema(description = "保险方案ID")
    private Long planId;

    @Schema(description = "保障项key：mzyl")
    private String safeguardKey;

    @Schema(description = "保障项名称：门诊医疗")
    private String safeguardKeyName;

    @Schema(description = "保障项值")
    private String safeguardValue;

    @Schema(description = "表单：全量保障项值")
    private List<SafeguardEntity> safeguardVOs;

    @Schema(description = "保障项别名：一般门诊费用")
    private String safeguardAsName;

    @Schema(description = "保障类型（0保障规则 1 保障信息）")
    private String safeguardType;

    @Schema(description = "显示位置：0 列表页 1 详情页")
    private String position;

    @Schema(description = "排序")
    private Integer sortNo;

    @Schema(description = "批量操作：主键ID")
    private String[] checkedIds;

    @Schema(description = "数据状态：0正常 1禁用")
    private EnableEnum dataState;

}
